package tjut.opp.test1;

public class Rabbit {

	/*
	 * 属性： 月周期
	 */
	private int iMonth;

	/*
	 * 行为：获取月周期兔子的数量
	 */
	/**
	 * 获取当前月周期的兔子数量
	 * 
	 * @return 当前月周期的兔子数量
	 */
	public long getAccountPerMonth() {
		// 使用递归算法计算当前月中期的兔子数量
		long l = getAccount(iMonth);
		// System.out.println("月周期为" + iMonth + "时，兔子的总数为：" + l);
		return l;
	}

	/**
	 * 根据当前的月份获取兔子数量
	 * 
	 * @param iM
	 *            当前月份
	 * @return 兔子数量
	 */
	private long getAccount(int iM) {
		// 递归结束条件
		if (iM == 1 || iM == 2) {
			return 1;
		} else {
			// 重复性的递归过程
			return getAccount(iM - 1) + getAccount(iM - 2);
		}
	}

	public int getiMonth() {
		return iMonth;
	}

	public void setiMonth(int iMonth) {
		this.iMonth = iMonth;
	}

}
